﻿using System;
using System.Collections.Generic;

namespace WUDI.ECharts.Series.Treemap.ItemStyle
{
	/// <summary>
	/// Object
	/// 注：treemap中 itemStyle 属性可能在多处地方存在：
	/// 可以存在于 sereis-treemap 根下，表示本系列全局的统一设置。
	/// 可以存在于 series-treemap.levels 的每个数组元素中，表示树每个层级的统一设置。
	/// 存在于 series-treemap.data 的每个节点中，表示每个节点的特定设置。
	/// </summary>
	public class ItemStyle
	{

		/// <summary>
		/// Color
		/// 矩形的颜色。默认从全局调色盘 option.color 获取颜色。
		/// </summary>
		public String color { get; set; }

		/// <summary>
		/// number
		/// 矩形颜色的透明度。取值范围是 0 ~ 1 之间的浮点数。
		/// </summary>
		public String colorAlpha { get; set; }

		/// <summary>
		/// number
		/// 矩形颜色的饱和度。取值范围是 0 ~ 1 之间的浮点数。
		/// </summary>
		public String colorSaturation { get; set; }

		/// <summary>
		/// number
		/// 矩形边框线宽。为 0 时无边框。而矩形的内部子矩形（子节点）的间隔距离是由 gapWidth 指定的。
		/// </summary>
		public int borderWidth { get; set; } = 0;

		/// <summary>
		/// number
		/// 矩形内部子矩形（子节点）的间隔距离。
		/// </summary>
		public int gapWidth { get; set; } = 0;

		/// <summary>
		/// Color
		/// 矩形边框 和 矩形间隔（gap）的颜色。
		/// </summary>
		public String borderColor { get; set; } = "#fff',";

		/// <summary>
		/// Color
		/// 矩形边框的颜色的饱和度。取值范围是 0 ~ 1 之间的浮点数。
		/// 注意：
		/// 如果设置此属性，则 borderColor 的设置无效，而是：取当前节点计算出的颜色（比如从父节点遗传而来），在此颜色值上设置 borderColorSaturation 得到最终颜色。这种方式，能够做出『不同区块有不同色调的矩形间隔线』的效果，能够便于区分层级。
		/// 矩形边框（border）/缝隙（gap）设置如何避免混淆
		/// 如果统一用一种颜色设置矩形的缝隙（gap），那么当不同层级的矩形同时展示时可能会出现混淆。
		/// 参见 例子，注意其中红色的区块中的子矩形其实是更深层级，和其他用白色缝隙区分的矩形不是在一个层级。所以，红色区块中矩形的分割线的颜色，我们在 borderColorSaturation 中设置为『加了饱和度变化的红颜色』，以示区别。
		/// </summary>
		public String borderColorSaturation { get; set; }

		/// <summary>
		/// Color
		/// 每个矩形的描边颜色。
		/// </summary>
		public String strokeColor { get; set; }

		/// <summary>
		/// number
		/// 每个矩形的描边宽度。
		/// </summary>
		public String strokeWidth { get; set; }

	}
}
